<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td><H2><font color="#336699" class="PageHeader">Managing Resources Abstractly</font></H2></td>
</tr>
</table>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td>
<br><br>
There are times when it is useful to allow requests for a particular
abstract resource without regard to the specific host or system 
resources provided.
Some examples include:
<ul>
<li>different priorities of job, eg, low, medium, high priority
<li>different kinds of jobs, eg, simulation, synthesis, etc
<li>very particular system characteristics, eg, OS-release-level, patch-level
<li>node-locked software, eg, software which is only available on a certain
set of hosts
</ul>
To achieve this in Grid Engine, you can define any number of custom resources.
You would then attach these resources to any number of queues, eg, all "high
priority" queues or all queues on a host which provides a node-locked license.
Then, when submitting a job, this resource can be requested and only those 
queues that are tagged with this resource will be candidates for 
running the job. <BR><BR>The
following steps outline the procedure to attach a resource to a queue
using Qmon.</P>
<P><B>1) Define the resource</B><BR><BR>In the main qmon window,
click &quot;Complexes Configuration&quot;. Highlight &quot;queue&quot; in the
lefthand box. A list of built-in resources appears in the main
window. Click &quot;Modify&quot;. In the next screen, the resource
needs to be defined. For example:</P>
<PRE>#Name   Shortcut Type   Value   Relation Requestable Consumable Default
#------------------------------------------------------------------------
build   build    bool   false   ==       YES         NO         0

  Name: The name of this resource
  Shortcut: Each resource may have a unique shortcut assigned to it
  Type: The type of resource (boolean, integer, char, etc)
  Value: The default value for this resource
  Relation: == since a boolean value.
  Requestable: Allow users to request the resource
  Consumable: This resource is not consumed when requested
  Default: Not used</PRE><P>
<BR>After adding the resource, be sure to click &quot;Add&quot; to
add the new resource to the table below. Then click &quot;Ok&quot;.</P>
<P><B>2) Attach the resource to specific queues</B><BR><BR>In the main
qmon window, click &quot;Queue Control&quot;.
Highlight the queue that the resource
should be attached to, and click &quot;Modify&quot;.
<BR><BR>Click on the &quot;Complexes&quot; tab, and then click on
&quot;Load&quot; on the right-side of the window. A list of available
resources appears. Choose or type in the new resource and click &quot;OK&quot;.
Type in 'true' for the &quot;Value&quot;. 
</P>
<P><B>3) Request the resource</B><BR><BR>Any job submitted requesting
this resource will be scheduled on the queues specified in the above
step. To request the resource, use the -l switch:<BR><BR>qsub -l
build=true myjob.sh<BR><BR>note: '-l build' is equivalent to '-l
build=true'</P>
<p></p>
</table>
